-- *****************************************************************
-- CISCO-IETF-ATM2-PVCTRAP-MIB.my: Supplemental ATM Management Objects
--
-- February 1998, Sujatha Narayanan
--
-- Copyright (c) 1998 by cisco Systems, Inc.
-- All rights reserved.
-- *****************************************************************
--
-- This mib was extracted from draft-ietf-atommib-atm2-11.txt,
-- section 9 titled ATM Related Trap Support. This MIB implements
-- only the VCL part of this section.
--
-- In the import section, only the required objects have been selected.
--
-- The objects selected in this MIB are:
-- atmInterfaceExtTable
-- atmInterfaceExtEntry
-- AtmInterfaceExtEntry
-- atmIntfPvcFailures
-- atmIntfCurrentlyFailingPVcls
-- atmIntfPvcFailuresTrapEnable
-- atmIntfPvcNotificationInterval
-- atmPreviouslyFailedPVclInterval
-- atmCurrentlyFailingPVclTable
-- atmCurrentlyFailingPVclEntry
-- AtmCurrentlyFailingPVclEntry
-- atmCurrentlyFailingPVclTimeStamp
-- atmPreviouslyFailedPVclTimeStamp
-- atmIntfPvcFailuresTrap


CISCO-IETF-ATM2-PVCTRAP-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        NOTIFICATION-TYPE,
        Gauge32,
        Counter32
                FROM SNMPv2-SMI
        TruthValue,
        TimeStamp
                FROM SNMPv2-TC
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF
        ifIndex
                FROM IF-MIB
        atmInterfaceConfEntry,
        atmVclVpi,
        atmVclVci
                FROM ATM-MIB
        ciscoExperiment
                FROM CISCO-SMI;

ciscoIetfAtm2PvctrapMIB MODULE-IDENTITY
        LAST-UPDATED    "9802030000Z"
        ORGANIZATION    "Cisco Systems, Inc."
        CONTACT-INFO
                "       Cisco Systems
                        Customer Service
 
                Postal: 170 W Tasman Drive
                        San Jose, CA  95134
                        USA
 
                   Tel: +1 800 553-NETS
 
                E-mail: cs-atm@cisco.com"

        DESCRIPTION
                "This MIB Module is a supplement to the
                 ATM-MIB."
        ::= { ciscoExperiment 29 }
 
atm2MIBObjects  OBJECT IDENTIFIER ::= { ciscoIetfAtm2PvctrapMIB 1 }
atm2MIBTraps    OBJECT IDENTIFIER ::= { ciscoIetfAtm2PvctrapMIB 2 }

atmInterfaceExtTable    OBJECT-TYPE
        SYNTAX          SEQUENCE OF AtmInterfaceExtEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
         "This table contains ATM interface monitoring
          information not defined in the
          atmInterfaceConfTable from the ATM-MIB."
        ::= { atm2MIBObjects 14 }

atmInterfaceExtEntry    OBJECT-TYPE
        SYNTAX          AtmInterfaceExtEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
         "An entry extends the atmInterfaceConfEntry
          defined in ATM MIB.  Each entry corresponds
          to an ATM interface."
        AUGMENTS        { atmInterfaceConfEntry }
        ::= { atmInterfaceExtTable 1 }

AtmInterfaceExtEntry    ::= SEQUENCE  {
        atmIntfPvcFailures              Counter32,
        atmIntfCurrentlyFailingPVcls    Gauge32,
        atmIntfPvcFailuresTrapEnable    TruthValue,
        atmIntfPvcNotificationInterval  INTEGER,
        atmPreviouslyFailedPVclInterval INTEGER
        }

atmIntfPvcFailures      OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
         "The number of times the operational status of a PVCL
          on this interface has gone down."
        ::= { atmInterfaceExtEntry 20 }
 
atmIntfCurrentlyFailingPVcls    OBJECT-TYPE
        SYNTAX          Gauge32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
         "The current number of VCLs on this interface for which
          there is an active row in the atmVclTable having an
          atmVclConnKind value of `pvc' and an atmVclOperStatus
          with a value other than `up'."
        ::= { atmInterfaceExtEntry 22 }
 
atmIntfPvcFailuresTrapEnable    OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
         "Allows the generation of traps in response to PVCL
          failures on this interface."
        DEFVAL          { false }
        ::= { atmInterfaceExtEntry 23 }
 
atmIntfPvcNotificationInterval   OBJECT-TYPE
        SYNTAX          INTEGER (1..3600)
        UNITS           "seconds"
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
         "The minimum interval between the sending of
          cIntfPvcFailuresTrap notifications for this
          interface."
        DEFVAL          { 30 }
        ::= { atmInterfaceExtEntry 24 }

atmPreviouslyFailedPVclInterval    OBJECT-TYPE
        SYNTAX          INTEGER (0..3600)
        UNITS           "seconds"
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
         "The interval for storing the failed
          time in atmPreviouslyFailedPVclTimeStamp"
        DEFVAL          { 0 }
        ::= { atmInterfaceExtEntry 25 }
 
atmCurrentlyFailingPVclTable    OBJECT-TYPE
        SYNTAX          SEQUENCE OF AtmCurrentlyFailingPVclEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
         "A table indicating all VCLs for which there is an
          active row in the atmVclTable having an atmVclConnKind
          value of `pvc' and an atmVclOperStatus with a value
          other than `up'."
        ::= { atm2MIBObjects 21 }
 
atmCurrentlyFailingPVclEntry    OBJECT-TYPE
        SYNTAX          AtmCurrentlyFailingPVclEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
         "Each entry in this table represents a VCL for which
          the atmVclRowStatus is `active', the atmVclConnKind is
          `pvc', and the atmVclOperStatus is other than `up'."
        INDEX           { ifIndex, atmVclVpi, atmVclVci }
        ::= { atmCurrentlyFailingPVclTable 1 }
 
AtmCurrentlyFailingPVclEntry ::=        SEQUENCE        {
        atmCurrentlyFailingPVclTimeStamp        TimeStamp,
        atmPreviouslyFailedPVclTimeStamp        TimeStamp
        }
 
atmCurrentlyFailingPVclTimeStamp        OBJECT-TYPE
        SYNTAX          TimeStamp
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
         "The time at which this PVCL began to fail."
        ::= { atmCurrentlyFailingPVclEntry 1 }

atmPreviouslyFailedPVclTimeStamp        OBJECT-TYPE
        SYNTAX          TimeStamp
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
         "The time at which this PVCL began to fail
          during the PVC Notification interval."
        ::= { atmCurrentlyFailingPVclEntry 2 }
 
 
atmPvcTraps             OBJECT IDENTIFIER ::= { atm2MIBTraps 1 }
atmPvcTrapsPrefix       OBJECT IDENTIFIER ::= { atmPvcTraps 0 }
 
atmIntfPvcFailuresTrap    NOTIFICATION-TYPE
        OBJECTS         { ifIndex, 
                          atmIntfPvcFailures,
                          atmIntfCurrentlyFailingPVcls }
        STATUS          current
        DESCRIPTION
         "A notification indicating that one or more
          PVCLs on this interface has failed since the last
          cIntfPvcFailuresTrap was sent.  If this trap has not been
          sent for the last cIntfPvcNotificationInterval, then
          it will be sent on the next increment of
          cIntfPvcFailures."
        ::= { atmPvcTrapsPrefix 1 }

-- Conformance Information

-- The DRAFT has an error in that atm2MIBConformance is defined as
-- having an OID { atm2MIB 2 } while this has already been allocated
-- to atm2MIBTraps. The following corrects that error.

atm2MIBConformance      OBJECT IDENTIFIER ::= { ciscoIetfAtm2PvctrapMIB 3 }
atm2MIBGroups           OBJECT IDENTIFIER ::= { atm2MIBConformance 1 }
atm2MIBCompliances      OBJECT IDENTIFIER ::= { atm2MIBConformance 2 }

-- Compliance Statements

atm2MIBCompliance       MODULE-COMPLIANCE
        STATUS          current
        DESCRIPTION
         "The compliance statement for SNMP entities which
          implement PVC traps."
        MODULE          -- this module
        MANDATORY-GROUPS        { atmSwitchServcHostGroup }

--      GROUP           atmSwitchServcNotifGroup
--      DESCRIPTION
--       "This group is optional for systems implementing
--        support for an ATM Switch or an ATM Network Service."
 

        ::= { atm2MIBCompliances 1 }

-- Units of Conformance

atmSwitchServcHostGroup OBJECT-GROUP
        OBJECTS         {
                         atmIntfPvcFailures,
                         atmIntfCurrentlyFailingPVcls,
                         atmIntfPvcFailuresTrapEnable,
                         atmIntfPvcNotificationInterval,
                         atmPreviouslyFailedPVclInterval,
                         atmCurrentlyFailingPVclTimeStamp,
                         atmPreviouslyFailedPVclTimeStamp}
        STATUS          current
        DESCRIPTION
         "A collection of objects providing information
          for a Switch/Service/Host that implements
          PVC traps for an ATM interfaces."
        ::= { atm2MIBGroups 1 }

-- Existing MIB tools do not support NOTIFICATIONS-GROUP syntax
-- so we comment it out when committing to source repository.
-- It is OK to uncomment this when publishing this MIB.
-- atmSwitchServcNotifGroup     OBJECT-GROUP
--      NOTIFICATIONS   { atmIntfPvcFailuresTrap }
--      STATUS          current
--      DESCRIPTION
--       "A collection of notifications providing information
--        for a Switch/Service that implements ATM interfaces."
--      ::= { atm2MIBGroups 2 }

END